\section{Richard Toner}

During the development lifecycle of the game I have made the following
contributions:

\bit

\item Research in to the Ogre 3D Engine and CEGUI API as well as learning C++
for the purpose of the project. (2 weeks)

\item Initial game design where I assisted Stephen in implementing the core
elements of our game. (1 week)

\item Implementation of the main menu system. This was undoubtedly my 
largest task of the project as I initially created the entire menu system using
just code. After we came to a decision on the final design of the main menu
system I had to rewrite every class to adhere to the new design. I encountered
numerous problems throughout my experience of implementing the menus due to the
steep learning curve of the CEGUI API and the time-consuming nature of making
even the smallest of changes to the design of the menus. (4 weeks)

\item Creation and maintenance of all layout and imageset files utilised
throughout the main menu system. (2 weeks)

\item Upon completion of the main menu system, Jamie and I identified that many
of the in-game menus would be similar in content and so decided to implement a
class for the in game menus that utilised an embedded layout system which
attached certain layouts to a standard template based on the state of the 
current game session. Whilst Jamie worked on the code to identify what the
state of the current game session was, I created all of the embedded layout
files and implemented all of the event handling functions. (1 week)

\item In conjunction with the creation of the high scores menu I worked on the
\verb"HighScore" class. This involved the creation of a data structure that
would be easy to store and retrieve information from as it would be used
frequently by the menu system to display high scores and also to add new
scores. This also involved the extension of the class so that it
included a ranking system for players who achieve a ranking in the main
game. (4 days)

\item Whilst working on the options menu I had to refactor and add to the
already existant \verb"Configuration" class so that a player's options would
be saved to a configuration file. (3 days)

\item Keyboard and Joystick interaction with the menu system by injecting mouse
movements in to the OIS input system as CEGUI cannot process input devices by
itself. (3 days)

\item Assistance with the design of levels and creation of rendered level images. (3 days)

\item Refactoring the majority of the menu code so that the push / pop 
functionality of the game state manager was utilised and that redundant code
was removed where necessary. (3 days)

\eit
